package com.ruoyi.znjc.service.impl;

import java.util.List;
import java.util.Map;

import com.ruoyi.common.utils.DateUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.ruoyi.znjc.mapper.ZnjcTimersMapper;
import com.ruoyi.znjc.domain.ZnjcTimers;
import com.ruoyi.znjc.service.IZnjcTimersService;

/**
 * 预警定时Service业务层处理
 * 
 * @author ruoyi
 * @date 2025-07-26
 */
@Service
public class ZnjcTimersServiceImpl implements IZnjcTimersService 
{
    @Autowired
    private ZnjcTimersMapper znjcTimersMapper;

    /**
     * 查询预警定时
     * 
     * @param timerId 预警定时主键
     * @return 预警定时
     */
    @Override
    public ZnjcTimers selectZnjcTimersByTimerId(Long timerId)
    {
        return znjcTimersMapper.selectZnjcTimersByTimerId(timerId);
    }

    /**
     * 查询预警定时列表
     * 
     * @param znjcTimers 预警定时
     * @return 预警定时
     */
    @Override
    public List<ZnjcTimers> selectZnjcTimersList(ZnjcTimers znjcTimers)
    {
        return znjcTimersMapper.selectZnjcTimersList(znjcTimers);
    }

    /**
     * 新增预警定时
     * 
     * @param znjcTimers 预警定时
     * @return 结果
     */
    @Override
    public int insertZnjcTimers(ZnjcTimers znjcTimers)
    {
        znjcTimers.setCreateTime(DateUtils.getNowDate());
        return znjcTimersMapper.insertZnjcTimers(znjcTimers);
    }

    /**
     * 修改预警定时
     * 
     * @param znjcTimers 预警定时
     * @return 结果
     */
    @Override
    public int updateZnjcTimers(ZnjcTimers znjcTimers)
    {
        znjcTimers.setUpdateTime(DateUtils.getNowDate());
        return znjcTimersMapper.updateZnjcTimers(znjcTimers);
    }

    /**
     * 批量删除预警定时
     * 
     * @param timerIds 需要删除的预警定时主键
     * @return 结果
     */
    @Override
    public int deleteZnjcTimersByTimerIds(Long[] timerIds)
    {
        return znjcTimersMapper.deleteZnjcTimersByTimerIds(timerIds);
    }

    /**
     * 删除预警定时信息
     * 
     * @param timerId 预警定时主键
     * @return 结果
     */
    @Override
    public int deleteZnjcTimersByTimerId(Long timerId)
    {
        return znjcTimersMapper.deleteZnjcTimersByTimerId(timerId);
    }



    /**
     * 根据定时器ID查询关联的规则内容
     *
     * 通过定时器ID，关联查询订阅表和规则表，获取对应的规则信息
     *
     * @param timerId 预警定时主键
     * @return 包含规则内容的Map，找不到则返回null
     */
    @Override
    public Map<String, Object> selectRuleInfoByTimerId(Long timerId) {
        return znjcTimersMapper.selectRuleInfoByTimerId(timerId);
    }



}
